package bingosoft.metro.datasync.iservice;

import bingosoft.components.base.service.PageQueryRequest;
import bingosoft.components.base.service.Result;
import bingosoft.components.base.service.ResultEntity;
import bingosoft.components.base.service.ResultPage;
import bingosoft.metro.datasync.base.form.SyncLogForm;

import java.util.List;
import java.util.Map;

/**
 * @author chenwx
 * @description 数据同步业务服务接口
 * @createTime 2019-11-25 10:06
 */
public interface IDatasyncService {

    /**
     * 执行组织全量同步
     * @return 同步结果
     */
    Result execOrgFullSync();

    /**
     * 执行组织增量同步
     * @return 同步结果
     */
    Result execOrgIncSync();

    /**
     * 执行用户全量同步
     * @return 同步结果
     */
    Result execUserFullSync();

    /**
     * 执行用户增量同步
     * @return 同步结果
     */
    Result execUserIncSync();

    /**
     * 分页查询同步日志
     * @param pageQueryRequest
     * @param params
     * @return
     */
    ResultEntity<ResultPage<List<SyncLogForm>>> pageQuerySyncLog(PageQueryRequest pageQueryRequest, Map<String, Object> params);
}
